<p>Для чего использовать кеширование в собственных компонентах 2.0? Ведь, казалось бы, проще всего обращаться напрямую через API в базу данных, получать информацию, форматировать ее в шаблоне компонента и отображать пользователю.</p>

<p>Все дело в производительности веб-проекта при одновременной работе с ним множества пользователей. Если компонент 2.0 отрабатывает без кеширования за 0.1 сек, выполняя, допустим, 100 запросов к базе данных, то, при одновременной работе 100 пользователей не только резко возрастет нагрузка на сервер базы данных, но и время отработки компонента может вырасти, к примеру, до 5-10 секунд!</p>

<p>Не менее важный момент, на который стоит обратить внимание - скорость отработки компонента при получении данных из кеша. Если без кеширования компонент отрабатывает за 2 сек. для каждого пользователя, то при использовании кеширования компонент для одного пользователя отработает за 2 сек., а для остальных 100 пользователей в ближайшие полчаса, допустим, будет отрабатывать 0.1 сек.</p>

<p>На какой период времени кешировать информацию в собственных компонентах 2.0? Если используется "Авто+Управляемое" кеширование - информация будет отдаваться из кеша до тех пор, пока она не поменяется в базе данных и кеш сбросится автоматически. Если используется "Авто" кеширование - рекомендуется устанавливать максимально допустимый с учетом бизнес-логики интервал кеширования. Например, для редко обновляемого "списка статей" можно установить интервал кеширования в 12 часов, а для часто обновляемого - 10 минут.</p>

<p>Таким образом, при использовании кеширования в собственных компонентах 2.0:</p>
<ul>
<li>резко увеличивается производительность веб-проекта и его устойчивость к нагрузкам, т.к. нагрузка на базу данных качественно минимизируется и веб-решение сможет обслужить уже, к примеру, не 50 000 пользователей в сутки, а 1 000 000 и больше.</li>
<li>веб-страницы  загружаются в браузер пользователя значительно быстрее (десятые доли секунды), т.к. информация для их построения сохранена на сервере и не берется из базы данных</li>
 </ul>



<p>Необходимо проверить в настройках каждого собственного компонента 2.0 в публичной части что кеширование включено и установлено адекватное решаемой задаче время кеширования. </p>

<p>Обычно настройки расположены в разделе "Настройки кеширования" и называются "Тип кеширования" и "Время кеширования (сек.)". Тип кеширования должен быть установлен в "Авто+Управляемое" или "Авто". Если тип установлен в значение "Кешировать"  - рекомендуется для удобства администрирования системы поменять его на "Авто". </p>

<p>В административной части в разделе "Настройки > Настройки продукта > Автокеширование" на вкладке "Кеширование компонентов" должно быть включено автокеширование, а на вкладке "Управляемый кеш" должно быть включено управляемое кеширование (в большинстве типовых веб-проектов его рекомендуется не выключать). </p>

<p>Время кеширования для режима "Авто+Управляемое" - должно быть большим, к примеру, 1 год. Время кеширования для режима "Авто" зависит от частоты обновления информации - для некоторых компонентов 2.0 устанавливается период в 24 часа,  а для часто обновляемых либо рекомендуется использовать управляемое кеширование или установить значение, к примеру, в 10 минут. </p>
